unit UMantenimientoPaquetesT;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, uniGUITypes, uniGUIAbstractClasses,
  uniGUIClasses, uniGUIForm, uniMemo, uniRadioGroup, uniDBDateTimePicker,
  uniRadioButton, uniDBEdit, uniBasicGrid, uniDBGrid, uniButton, uniEdit,
  uniLabel, uniDateTimePicker, uniCheckBox, uniPanel, uniPageControl,
  uniGUIBaseClasses, uniSpeedButton, uniBitBtn, uniDBNavigator, FMTBcd, DB,
  DBClient, Provider, SqlExpr, uniDBMemo, uniGroupBox;

type
  TUMantenimientoPaquetes = class(TUniForm)
    pgPaquetesT: TUniPageControl;
    Consulta: TUniTabSheet;
    pnlBuscarPaq: TUniPanel;
    cbxFechaPartida: TUniCheckBox;
    dbBusqFechaDesdePT: TUniDateTimePicker;
    dbBusqFechaHastaPT: TUniDateTimePicker;
    lblDesdeFechaPartida: TUniLabel;
    lblHastaFechaLlegada: TUniLabel;
    lblBusqCampanha: TUniLabel;
    dbCodigoServicio: TUniEdit;
    btnBuscadorCampanha: TUniButton;
    dbNombreServicio: TUniEdit;
    dbgConsultaPaquetesT: TUniDBGrid;
    pnlTitulo: TUniPanel;
    lblConsultaPaquetesT: TUniLabel;
    Mantenimiento: TUniTabSheet;
    pnlGeneral: TUniPanel;
    pnlCargaDatosrPaqueteT: TUniPanel;
    lblDatosPaquetesT: TUniLabel;
    lblCantidadDias: TUniLabel;
    dbCantidadDias: TUniDBEdit;
    UniLabel1: TUniLabel;
    lblFechaPartida: TUniLabel;
    lblNombrePaqueteT: TUniLabel;
    dbDescripcionPT: TUniDBEdit;
    pnl1: TUniPanel;
    lblMantenimientoPaquetesT: TUniLabel;
    lblItinerario: TUniLabel;
    cbxFechaVenc: TUniCheckBox;
    lblDesdeFechaVenc: TUniLabel;
    lblHastaFechaVenc: TUniLabel;
    dbBusqFechaVencDesdePT: TUniDateTimePicker;
    dbBusqFechaVencHastaPT: TUniDateTimePicker;
    rgRangoPreciosPT: TUniRadioGroup;
    lblCupoMaximo: TUniLabel;
    UniLabel10: TUniLabel;
    dbCupoMaximo: TUniDBEdit;
    dbCupoMinimo: TUniDBEdit;
    Transporte: TUniTabSheet;
    UniPanel1: TUniPanel;
    UniPanel3: TUniPanel;
    lblTransporte: TUniLabel;
    UniPanel4: TUniPanel;
    UniLabel13: TUniLabel;
    GuiaTuristico: TUniTabSheet;
    UniPanel7: TUniPanel;
    UniPanel8: TUniPanel;
    lblAgregarGuiaTuristico: TUniLabel;
    dbgGuiaTuristico: TUniDBGrid;
    UniPanel9: TUniPanel;
    UniLabel6: TUniLabel;
    Hotel: TUniTabSheet;
    UniPanel10: TUniPanel;
    UniPanel11: TUniPanel;
    lblAgregarHoteles: TUniLabel;
    dbgHotel: TUniDBGrid;
    UniPanel12: TUniPanel;
    UniLabel8: TUniLabel;
    dbnAgregarHoteles: TUniDBNavigator;
    OtrosServicios: TUniTabSheet;
    UniPanel13: TUniPanel;
    UniPanel14: TUniPanel;
    lblAgregarOtrosServicios: TUniLabel;
    dbgOtrosServicios: TUniDBGrid;
    UniPanel15: TUniPanel;
    UniLabel11: TUniLabel;
    Total: TUniTabSheet;
    UniPanel16: TUniPanel;
    UniPanel17: TUniPanel;
    lblDatosNecesarios: TUniLabel;
    dbgTotal: TUniDBGrid;
    UniPanel18: TUniPanel;
    UniLabel14: TUniLabel;
    lblPorcentajeGanancia: TUniLabel;
    dbPorcentajeGanancia: TUniDBEdit;
    lblCostosTotales: TUniLabel;
    btnCalcularCosto: TUniBitBtn;
    dbNombreCampanha: TUniEdit;
    btnBuscarCampanha: TUniButton;
    lblCampanha: TUniLabel;
    lblDatosObligatoriosPT: TUniLabel;
    lblDatosObligatorios: TUniLabel;
    pnlBotonesProv: TUniPanel;
    btnNuevoPaqueteT: TUniBitBtn;
    btnEditarPaqueteT: TUniBitBtn;
    btnEliminarPaqueteT: TUniBitBtn;
    btnCancelarPaqueteT: TUniBitBtn;
    btnBuscarPaqueteT: TUniBitBtn;
    lblPaqTuristico: TUniLabel;
    dbCodigoPaqT: TUniEdit;
    btnBuscadorPaqT: TUniButton;
    btnDescripcionPaqT: TUniEdit;
    rgEstadoReg: TUniRadioGroup;
    qryConsulta: TSQLQuery;
    dsConsulta: TDataSource;
    provConsulta: TDataSetProvider;
    cdsConsulta: TClientDataSet;
    qryConsultaID_PAQUETE_TURISTICO: TIntegerField;
    qryConsultaDENOMINACION: TStringField;
    qryConsultaFECHA_PARTIDA: TDateField;
    qryConsultaFECHA_LLEGADA: TDateField;
    qryConsultaHORA_PARTIDA: TTimeField;
    qryConsultaHORA_LLEGADA: TTimeField;
    qryConsultaCUPO_MINIMO: TIntegerField;
    qryConsultaCUPO_MAXIMO: TIntegerField;
    qryConsultaITINERARIO: TMemoField;
    qryConsultaCANTIDAD_DIAS: TIntegerField;
    qryConsultaPORC_GANANCIA: TFloatField;
    qryConsultaOPERADOR: TStringField;
    qryConsultaFECHA_CARGA: TDateField;
    cdsConsultaID_PAQUETE_TURISTICO: TIntegerField;
    cdsConsultaDENOMINACION: TStringField;
    cdsConsultaFECHA_PARTIDA: TDateField;
    cdsConsultaFECHA_LLEGADA: TDateField;
    cdsConsultaHORA_PARTIDA: TTimeField;
    cdsConsultaHORA_LLEGADA: TTimeField;
    cdsConsultaCUPO_MINIMO: TIntegerField;
    cdsConsultaCUPO_MAXIMO: TIntegerField;
    cdsConsultaITINERARIO: TMemoField;
    cdsConsultaCANTIDAD_DIAS: TIntegerField;
    cdsConsultaPORC_GANANCIA: TFloatField;
    cdsConsultaOPERADOR: TStringField;
    cdsConsultaFECHA_CARGA: TDateField;
    qryPaquete: TSQLQuery;
    dsPaquete: TDataSource;
    provPaquete: TDataSetProvider;
    cdsPaquete: TClientDataSet;
    qryDetalle: TSQLQuery;
    dsDetalle: TDataSource;
    provDetalle: TDataSetProvider;
    cdsDetalle: TClientDataSet;
    qryGuia: TSQLQuery;
    dsGuia: TDataSource;
    provGuia: TDataSetProvider;
    cdsGuia: TClientDataSet;
    qryHotel: TSQLQuery;
    dsHotel: TDataSource;
    provHotel: TDataSetProvider;
    cdsHotel: TClientDataSet;
    qryOtrosServicios: TSQLQuery;
    dsOtrosServicios: TDataSource;
    provOtrosServicios: TDataSetProvider;
    cdsOtrosServicios: TClientDataSet;
    qryPaqueteID_PAQUETE_TURISTICO: TIntegerField;
    qryPaqueteDENOMINACION: TStringField;
    qryPaqueteHORA_PARTIDA: TTimeField;
    qryPaqueteHORA_LLEGADA: TTimeField;
    qryPaqueteCUPO_MINIMO: TIntegerField;
    qryPaqueteCUPO_MAXIMO: TIntegerField;
    qryPaqueteITINERARIO: TMemoField;
    qryPaqueteCANTIDAD_DIAS: TIntegerField;
    qryPaquetePORC_GANANCIA: TFloatField;
    qryPaqueteOPERADOR: TStringField;
    qryPaqueteFECHA_CARGA: TDateField;
    cdsPaqueteID_PAQUETE_TURISTICO: TIntegerField;
    cdsPaqueteDENOMINACION: TStringField;
    cdsPaqueteHORA_PARTIDA: TTimeField;
    cdsPaqueteHORA_LLEGADA: TTimeField;
    cdsPaqueteCUPO_MINIMO: TIntegerField;
    cdsPaqueteCUPO_MAXIMO: TIntegerField;
    cdsPaqueteITINERARIO: TMemoField;
    cdsPaqueteCANTIDAD_DIAS: TIntegerField;
    cdsPaquetePORC_GANANCIA: TFloatField;
    cdsPaqueteOPERADOR: TStringField;
    cdsPaqueteFECHA_CARGA: TDateField;
    pnlMovPag: TUniPanel;
    btnVolverConsulta: TUniSpeedButton;
    btnAvanzarTransporte: TUniSpeedButton;
    UniPanel2: TUniPanel;
    btnVolverMantenimiento: TUniSpeedButton;
    btnAvanzarGuia: TUniSpeedButton;
    UniLabel2: TUniLabel;
    UniLabel3: TUniLabel;
    dbCategoriaTrans: TUniEdit;
    btnServTrans: TUniButton;
    dbItinerario: TUniDBMemo;
    UniPanel5: TUniPanel;
    btnVolverTransporte: TUniSpeedButton;
    btnAvanzarHotel: TUniSpeedButton;
    UniLabel4: TUniLabel;
    UniLabel5: TUniLabel;
    UniLabel9: TUniLabel;
    UniEdit1: TUniEdit;
    UniDBEdit1: TUniDBEdit;
    UniDBEdit3: TUniDBEdit;
    UniButton4: TUniButton;
    UniButton6: TUniButton;
    UniLabel12: TUniLabel;
    UniLabel15: TUniLabel;
    UniLabel16: TUniLabel;
    UniDBEdit4: TUniDBEdit;
    UniDBEdit5: TUniDBEdit;
    UniEdit2: TUniEdit;
    UniButton8: TUniButton;
    UniButton9: TUniButton;
    UniLabel17: TUniLabel;
    UniLabel18: TUniLabel;
    UniLabel19: TUniLabel;
    UniEdit3: TUniEdit;
    UniDBEdit6: TUniDBEdit;
    UniDBEdit7: TUniDBEdit;
    UniButton10: TUniButton;
    UniButton11: TUniButton;
    UniButton12: TUniButton;
    UniPanel6: TUniPanel;
    btnVolverGuia: TUniSpeedButton;
    btnAvanzarOtros: TUniSpeedButton;
    UniPanel19: TUniPanel;
    btnVolverHotel: TUniSpeedButton;
    btnAvanzarTotal: TUniSpeedButton;
    pnlBotones: TUniPanel;
    btnGuardarPaqueteT: TUniBitBtn;
    btnCancelarPaqueteTuristico: TUniBitBtn;
    btnGenerarPresupuestoPaqT: TUniBitBtn;
    btnImprimirPresupuestoPaqT: TUniBitBtn;
    UniPanel20: TUniPanel;
    btnVolverOtros: TUniSpeedButton;
    qryPaqueteID_CAMPANHA: TIntegerField;
    qryConsultaID_CAMPANHA: TIntegerField;
    cdsConsultaID_CAMPANHA: TIntegerField;
    cdsPaqueteID_CAMPANHA: TIntegerField;
    qryBusca: TSQLQuery;
    gbPresupuestoTrans: TUniGroupBox;
    lblProvTrans: TUniLabel;
    dbProvTrans: TUniDBEdit;
    lblPresupuestoTrans: TUniLabel;
    btnPresuTrans: TUniButton;
    lblCostoTrans: TUniLabel;
    dbCostoTrans: TUniDBEdit;
    dbDescServTrans: TUniEdit;
    dbCodServTrans: TUniEdit;
    qryDetalleREGISTRO: TIntegerField;
    qryDetalleID_PRESUPUESTO_PROVEEDOR: TIntegerField;
    qryDetalleID_PAQUETE_TURISTICO: TIntegerField;
    qryDetalleFECHA_CARGA: TDateField;
    cdsDetalleREGISTRO: TIntegerField;
    cdsDetalleID_PRESUPUESTO_PROVEEDOR: TIntegerField;
    cdsDetalleID_PAQUETE_TURISTICO: TIntegerField;
    cdsDetalleFECHA_CARGA: TDateField;
    dbCodCategoriaTrans: TUniEdit;
    btnAgregarTrans: TUniBitBtn;
    btnModificarTrans: TUniBitBtn;
    btnEliminarTrans: TUniBitBtn;
    UniBitBtn4: TUniBitBtn;
    UniBitBtn5: TUniBitBtn;
    UniBitBtn6: TUniBitBtn;
    UniBitBtn7: TUniBitBtn;
    UniBitBtn8: TUniBitBtn;
    UniBitBtn9: TUniBitBtn;
    UniBitBtn10: TUniBitBtn;
    UniBitBtn11: TUniBitBtn;
    UniBitBtn12: TUniBitBtn;
    dbPresupuestoTrans: TUniEdit;
    qryPresuTrans: TSQLQuery;
    dsPresuTrans: TDataSource;
    provPresuTrans: TDataSetProvider;
    cdsPresuTrans: TClientDataSet;
    qryPresuTransID_PRESUPUESTO: TIntegerField;
    qryPresuTransID_CAMPANHA: TIntegerField;
    qryPresuTransID_CATEGORIA: TIntegerField;
    qryPresuTransID_SERVICIO: TIntegerField;
    qryPresuTransID_PROVEEDORES: TIntegerField;
    qryPresuTransDESCRIPCION_PRESUP: TStringField;
    qryPresuTransHABITACIONES_DISP: TIntegerField;
    qryPresuTransFECHA_VENCIMIENTO: TDateField;
    qryPresuTransESTADO_REGISTRO: TStringField;
    qryPresuTransCOSTO: TFloatField;
    qryPresuTransIVA: TFloatField;
    qryPresuTransOPERADOR: TStringField;
    qryPresuTransFECHA_CARGA: TDateField;
    qryPresuTransFECHA_EMISION: TDateField;
    cdsPresuTransID_PRESUPUESTO: TIntegerField;
    cdsPresuTransID_CAMPANHA: TIntegerField;
    cdsPresuTransID_CATEGORIA: TIntegerField;
    cdsPresuTransID_SERVICIO: TIntegerField;
    cdsPresuTransID_PROVEEDORES: TIntegerField;
    cdsPresuTransDESCRIPCION_PRESUP: TStringField;
    cdsPresuTransHABITACIONES_DISP: TIntegerField;
    cdsPresuTransFECHA_VENCIMIENTO: TDateField;
    cdsPresuTransESTADO_REGISTRO: TStringField;
    cdsPresuTransCOSTO: TFloatField;
    cdsPresuTransIVA: TFloatField;
    cdsPresuTransOPERADOR: TStringField;
    cdsPresuTransFECHA_CARGA: TDateField;
    cdsPresuTransFECHA_EMISION: TDateField;
    qryPresuTransDENOMINACION: TStringField;
    cdsPresuTransDENOMINACION: TStringField;
    dbCodCampanha: TUniDBEdit;
    qryDetalleID_CATEGORIA: TIntegerField;
    cdsDetalleID_CATEGORIA: TIntegerField;
    qryBuscaID_PAQUETE_TURISTICO: TIntegerField;
    dbCodPresupuestoTrans: TUniEdit;
    qryPaqueteFECHA_PARTIDA: TDateField;
    qryPaqueteFECHA_LLEGADA: TDateField;
    qryPaqueteESTADO_REGISTRO: TStringField;
    cdsPaqueteFECHA_PARTIDA: TDateField;
    cdsPaqueteFECHA_LLEGADA: TDateField;
    cdsPaqueteESTADO_REGISTRO: TStringField;
    dbDesdeC: TUniDateTimePicker;
    dbHastaC: TUniDateTimePicker;
    btnListoTrans: TUniBitBtn;
    procedure btnNuevoPaqueteTClick(Sender: TObject);
    procedure btnVolverMantClick(Sender: TObject);
    procedure btnAvanzarGuiaClick(Sender: TObject);
    procedure btnAvanzarTransporteClick(Sender: TObject);
    procedure btnVolverMantenimientoClick(Sender: TObject);
    procedure btnVolverTransporteClick(Sender: TObject);
    procedure btnAvanzarHotelClick(Sender: TObject);
    procedure btnVolverGuiaClick(Sender: TObject);
    procedure btnAvanzarOtrosClick(Sender: TObject);
    procedure btnVolverHotelClick(Sender: TObject);
    procedure btnAvanzarTotalClick(Sender: TObject);
    procedure btnVolverOtrosClick(Sender: TObject);
    procedure btnCancelarPaqueteTClick(Sender: TObject);
    procedure btnBuscadorCampanhaClick(Sender: TObject);
    procedure btnBuscarPaqueteTClick(Sender: TObject);
    procedure btnEditarPaqueteTClick(Sender: TObject);
    procedure btnEliminarPaqueteTClick(Sender: TObject);
    procedure btnBuscarCampanhaClick(Sender: TObject);
    procedure btnServTransClick(Sender: TObject);
    procedure btnPresuTransClick(Sender: TObject);
    procedure btnAgregarTransClick(Sender: TObject);
    procedure dbDescServTransChange(Sender: TObject);
    procedure btnListoTransClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

function UMantenimientoPaquetes: TUMantenimientoPaquetes;

implementation

{$R *.dfm}

uses
  MainModule, TuristikUt, UBuscador_Campanha, Main, UBuscadorUt, UBuscadorPaquete,
  UBuscadorServ, UBuscadorPresup;

function UMantenimientoPaquetes: TUMantenimientoPaquetes;
begin
  Result := TUMantenimientoPaquetes(UniMainModule.GetFormInstance(TUMantenimientoPaquetes));
end;

procedure TUMantenimientoPaquetes.btnAvanzarHotelClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := Hotel;
end;

procedure TUMantenimientoPaquetes.btnAvanzarOtrosClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := OtrosServicios;
end;

procedure TUMantenimientoPaquetes.btnAvanzarTotalClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := Total;
end;

procedure TUMantenimientoPaquetes.btnAvanzarTransporteClick(Sender: TObject);
begin
   dbCodCategoriaTrans.Text := '2';
   dbCategoriaTrans.Text := 'TRANSPORTE';
   gbPresupuestoTrans.Enabled := False;
   btnAgregarTrans.Enabled := False;
   btnModificarTrans.Enabled := False;
   btnEliminarTrans.Enabled := False;
   btnAvanzarGuia.Enabled := False;
   pgPaquetesT.ActivePage := Transporte;
end;

procedure TUMantenimientoPaquetes.btnBuscadorCampanhaClick(Sender: TObject);
var
  form : TBuscadorPaquete;
begin
  form := TBuscadorPaquete.Create(UniApplication);
  form.ShowModal;
  dbCodigoServicio.Text := IntToStr(vCodigoBusquedaS);
  dbNombreServicio.Text := vNombreBusquedaS;
end;

procedure TUMantenimientoPaquetes.btnBuscarCampanhaClick(Sender: TObject);
var
  form : TUBuscadorCampanha;
begin
  form := TUBuscadorCampanha.Create(UniApplication);
  try
    form.ShowModal;
    cdsPaqueteID_CAMPANHA.AsInteger := vCodigoBusqCamp;
    dbNombreCampanha.Text := vNombreBusqCamp;
  finally
    FreeAndNil(form);
  end;
end;

procedure TUMantenimientoPaquetes.btnBuscarPaqueteTClick(Sender: TObject);
var
  vSqlWhere, vActivo, vInactivo : String;

  procedure VerificarCondPrevia;
  begin
    if vSqlWhere <> EmptyStr then
      vSqlWhere := vSqlWhere + ' AND ';
  end;
  begin
    vActivo := 'A';
    vInactivo := 'I';
    cdsConsulta.Close;

  if cbxFechaPartida.Checked then
  begin
    if (dbBusqFechaDesdePT.Text = '') or (dbBusqFechaHastaPT.Text = '') then
    begin
      ShowMessage('Ingrese un rango de fechas');
      Exit;
    end
    else
    begin
      if dbBusqFechaVencDesdePT.DateTime < dbBusqFechaVencHastaPT.DateTime then
      begin
        ShowMessage('La fecha hasta debe ser mayor a la fecha desde');
        Exit;
      end;
    end;
 end;
  vSqlWhere := EmptyStr;

  if rgEstadoReg.ItemIndex <> 2 then
  begin
    VerificarCondPrevia;
    if rgEstadoReg.ItemIndex = 0 then
       vSqlWhere := vSqlWhere + ' A.ESTADO_REGISTRO = ''A'' ';

    if rgEstadoReg.ItemIndex = 1 then
       vSqlWhere := vSqlWhere + ' A.ESTADO_REGISTRO = ''I'' ';
  end;

  if dbCodigoPaqT.Text <> EmptyStr then
  begin
    VerificarCondPrevia;
    vSqlWhere := vSqlWhere + ' A.ID_PAQUETE_TURISTICO = ' + dbCodigoPaqT.Text;
  end;

  if dbCodigoServicio.Text <> EmptyStr then
  begin
    VerificarCondPrevia;
    vSqlWhere := vSqlWhere + ' A.ID_SERVICIO = ' + QuotedStr(dbCodigoServicio.Text);
  end;

  if cbxFechaPartida.Checked then
  begin
    VerificarCondPrevia;
    vSqlWhere := vSqlWhere + ' A.FECHA_PARTIDA between ' + DateToSql(dbBusqFechaDesdePT.DateTime) +
                 ' and ' + DateToSql(dbBusqFechaHastaPT.DateTime);
  end;

  if cbxFechaVenc.Checked then
  begin
    VerificarCondPrevia;
    vSqlWhere := vSqlWhere + ' A.FECHA_LLEGADA between ' + DateToSql(dbBusqFechaDesdePT.DateTime) +
                 ' and ' + DateToSql(dbBusqFechaHastaPT.DateTime);
  end;

  ReemplazarWhere(qryConsulta.SQL, vSqlWhere);
  cdsConsulta.Open;
end;

procedure TUMantenimientoPaquetes.btnCancelarPaqueteTClick(Sender: TObject);
begin
 if ConfirmarOperacion('Desea abandonar la ventana de Mantenimiento de Paquetes Turisticos?') then
 begin
  cdsConsulta.Close;
  Close;
 end;
end;

procedure TUMantenimientoPaquetes.btnEditarPaqueteTClick(Sender: TObject);
begin
  pgPaquetesT.ActivePageIndex := 1;
  pnlCargaDatosrPaqueteT.Enabled := True;
  btnGuardarPaqueteT.Enabled;
  cdsConsulta.Edit;
  dbDescripcionPT.SetFocus;
end;

procedure TUMantenimientoPaquetes.btnEliminarPaqueteTClick(Sender: TObject);
begin
  if ConfirmarOperacion('Esta seguro de dar de baja el registro?') then
  begin
    cdsConsulta.Edit;
    cdsConsulta.ApplyUpdates(0);
    cdsConsulta.Close;
  end;
end;

procedure TUMantenimientoPaquetes.btnListoTransClick(Sender: TObject);
begin
  cdsPaqueteFECHA_PARTIDA.AsDateTime := dbDesdeC.DateTime;
  cdsPaqueteFECHA_LLEGADA.AsDateTime := dbHastaC.DateTime;
  cdsPaquete.ApplyUpdates(0);
  qryBusca.Close;
  qryBusca.Open;
  cdsDetalle.Insert;
  cdsDetalleID_CATEGORIA.AsInteger := StrToInt(dbCodCategoriaTrans.Text);
  cdsDetalleID_PRESUPUESTO_PROVEEDOR.AsInteger := StrToInt(dbCodPresupuestoTrans.Text);
  cdsDetalleID_PAQUETE_TURISTICO.AsInteger := qryBuscaID_PAQUETE_TURISTICO.AsInteger;
  cdsDetalle.ApplyUpdates(0);
  ShowMessage('Se guardo con exito');
  btnAvanzarGuia.Enabled := True;
end;

procedure TUMantenimientoPaquetes.btnNuevoPaqueteTClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := Mantenimiento;
  dbDescripcionPT.SetFocus;
  pnlCargaDatosrPaqueteT.Enabled := True;
  btnGuardarPaqueteT.Visible := True;
  cdsPaquete.Open;
  cdsDetalle.Open;
  cdsPaquete.Insert;
  dbCodCampanha.Visible := False;
  dbNombreCampanha.Clear;
  btnBuscarCampanha.SetFocus;
end;

procedure TUMantenimientoPaquetes.btnPresuTransClick(Sender: TObject);
var
  form : TBuscadorPresupuesto;
begin
  form := TBuscadorPresupuesto.Create(UniApplication);
  try
    form.vWhere := ' a.ID_CATEGORIA = ' + dbCodCategoriaTrans.Text + ' AND a.ID_SERVICIO = ' + dbCodServTrans.Text + ' AND ';
    form.ShowModal;
    dbCodPresupuestoTrans.Text := IntToStr(vCodigoBusquedaS);
    dbPresupuestoTrans.Text := vNombreBusquedaS;
  finally
    FreeAndNil(form);
  end;
  cdsPresuTrans.Close;
  ReemplazarWhere(qryPresuTrans.SQL, ' ID_PRESUPUESTO = ' + dbCodPresupuestoTrans.Text);
  cdsPresuTrans.Open;
  btnListoTrans.SetFocus;
end;

procedure TUMantenimientoPaquetes.btnServTransClick(Sender: TObject);
var
  form : TBuscadorServ;
begin
  form := TBuscadorServ.Create(UniApplication);
  try
    form.vWhere := ' a.ID_CATEGORIA = ' + dbCodCategoriaTrans.Text + ' AND ';
    form.ShowModal;
    dbCodServTrans.Text := IntToStr(vCodigoBusquedaS);
    dbDescServTrans.Text := vNombreBusquedaS;
  finally
    FreeAndNil(form);
  end;
end;

procedure TUMantenimientoPaquetes.btnVolverGuiaClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := GuiaTuristico;
end;

procedure TUMantenimientoPaquetes.btnVolverHotelClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := Hotel;
end;

procedure TUMantenimientoPaquetes.btnVolverMantClick(Sender: TObject);
begin
   pgPaquetesT.ActivePage := Consulta;
end;

procedure TUMantenimientoPaquetes.btnVolverMantenimientoClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := Mantenimiento;
end;

procedure TUMantenimientoPaquetes.btnVolverOtrosClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := OtrosServicios;
end;

procedure TUMantenimientoPaquetes.btnVolverTransporteClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := Transporte;
end;

procedure TUMantenimientoPaquetes.dbDescServTransChange(Sender: TObject);
begin
  if dbDescServTrans.Text <> EmptyStr then
  begin
    gbPresupuestoTrans.Enabled := False;
    btnAgregarTrans.Enabled := True;
    btnModificarTrans.Enabled := True;
    btnEliminarTrans.Enabled := True;
    btnAgregarTrans.SetFocus;
  end;
end;

procedure TUMantenimientoPaquetes.btnAgregarTransClick(Sender: TObject);
begin
  gbPresupuestoTrans.Enabled := True;
  btnAgregarTrans.Enabled := False;
  btnModificarTrans.Enabled := False;
  btnEliminarTrans.Enabled := False;
  btnPresuTrans.SetFocus;
end;

procedure TUMantenimientoPaquetes.btnAvanzarGuiaClick(Sender: TObject);
begin
  pgPaquetesT.ActivePage := GuiaTuristico;
end;

end.
